The invention relates to a system and a method employed for extracting the maximum information (in terms of signal-to-noise ratio-STN) from the satellite signals generated by the satellite positioning system (SPS) that have been modulated with an unknown security code. The SPS includes different satellite systems. One of those systems is a global positioning system (GPS).
The GPS is a system of satellite signal transmitters, with receivers located on the Earth's surface or adjacent to the Earth's surface, that transmits information from which an observer's present location and/or the time of observation can be determined. There is also the Global Orbiting Navigational System (GLONASS), which can operate as an alternative GPS system.
Each GPS satellite transmits two spread spectrum, L-band carrier signals: an L1 signal having a frequency f1=1575.42 MHz and an L2 signal having a frequency f2=1227.6 MHz. These two frequencies are integral multiplies f1=1540 f0 and f2=1200 f0 of a base frequency f0=1.023 MHz. The L1 signal from each satellite is binary phase shift key (BPSK) modulated by two pseudo-random noise (PRN) codes in phase quadrature, designated as the C/A-code and P-code. The L2 signal from each satellite is BPSK modulated by only the P-code. The nature of these PRN codes is described below.
One motivation for use of two carrier signals L1 and L2 is to allow partial compensation for propagation delay of such a signal through the ionosphere, which delay varies approximately as the inverse square of signal frequency f (delay.about.f.sup.2). This phenomenon is discussed by MacDoran in U.S. Pat. No. 4,463,357, which discussion is incorporated by reference herein. When transit time delay through the ionosphere is determined, a phase delay associated with a given carrier signal can also be determined. The phase delay which is proportional to the time difference of arrival of the modulated signals is measured in realtime by cross correlating two coherently modulated signals transmitted at different frequencies L1 and L2 from the spacecraft to the receiver using a cross correlator. A variable delay is adjusted relative to a fixed delay in the respective channels L1 and L2 to produce a maximum at the cross correlator output. The difference in delay required to produce this maximum is a measure of the columnar electron content of the ionosphere.
Use of the PRN codes allows use of a plurality of GPS satellite signals for determining an observer's position and for providing the navigation information. A signal transmitted by a particular GPS satellite is selected by generating and matching, or correlating, the PRN code for that particular satellite. Some of the PRN codes are known and are generated or stored in GPS satellite signal receivers carried by ground observers. Some of the PRN codes are unknown.
A first known PRN code for each GPS satellite, sometimes referred to as a precision code or P-code, is a relatively long, fine-grained code having an associated clock or chip rate of 10 f0=10.23 MHz. A second known PRN code for each GPS satellite, sometimes referred to as a clear/acquisition code or C/A-code, is intended to facilitate rapid satellite signal acquisition and hand-over to the P-code and is a relatively short, coarser-grained code having a clock or chip rate of f0=1.023 MHz. The C/A-code for any GPS satellite has a length of 1023 chips or time increments before this code repeats. The full P-code has a length of 259 days, with each satellite transmitting a unique portion of the full P-code. The portion of P-code used for a given GPS satellite has a length of precisely one week (7.000 days) before this code portion repeats. Accepted methods for generating the C/A-code and P-code are set forth in the document GPS Interface Control Document ICD-GPS-200, published by Rockwell International Corporation, Satellite Systems Division, Revision B-PR, 3 Jul. 1991, which is incorporated by reference herein.
The GPS satellite bit stream includes navigational information on the ephemeries of the transmitting GPS satellite (which includes a complete information about the transmitting satellite within next several hours of transmission) and an almanac for all GPS satellites (which includes a less detailed information about all other satellites). The satellite information transmitted by the transmitting GPS has the parameters providing corrections for ionospheric signal propagation delays suitable for single frequency receivers and for an offset time between satellite clock time and true GPS time. The navigational information is transmitted at a rate of 50 Baud. A useful discussion of the GPS and techniques for obtaining position information from the satellite signals is found in The NAVASTAR Global Positioning System, Tom Logsdon, Van Nostrand Reinhold, New York, 1992, pp. 17-90.
A second alternative configuration for global positioning is the Global Orbiting Navigation Satellite System (GLONASS), placed in orbit by the former Soviet Union and now maintained by the Russian Republic. GLONASS also uses 24 satellites, distributed approximately uniformly in three orbital planes of eight satellites each. Each orbital plane has a nominal inclination of 64.8.degree. relative to the equator, and the three orbital planes are separated from each other by multiples of 120.degree. longitude. The GLONASS circular orbits have smaller radii, about 25,510 kilometers, and a satellite period of revolution of 8/17 of a sidereal day (11.26 hours). A GLONASS satellite and a GPS satellite will thus complete 17 and 16 revolutions, respectively, around the Earth every 8 days. The GLONASS system uses two carrier signals L1 and L2 with frequencies of f1=(1.602+9 k/16) GHz and f2=(1,246+7 k/16) GHz, where k(=1,2, . . . 24) is the channel or satellite number. These frequencies lie in two bands at 1.597-1.617 GHz (L1 ) and 1,240-1,260 GHz (L2 ). The L1 code is modulated by a C/A- code (chip rate=0.511 MHz) and by a P-code (chip rate=5.11 MHz). The L2 code is presently modulated only by the P-code. The GLONASS satellites also transmit navigational data at a rate of 50 Baud. Because the channel frequencies are distinguishable from each other, the P-code is the same, and the C/A-code is the same, for each satellite. The methods for receiving and analyzing the GLONASS signals are similar to the methods used for the GPS signals.
Reference to a Satellite Positioning System or SPS herein refers to a Global Positioning System, to a Global Orbiting Navigation System, and to any other compatible satellite-based system that provides information by which an observer's position and the time of observation can be determined, all of which meet the requirements of the present invention.
A Satellite Positioning System (SPS), such as the Global Positioning System (GPS) or the Global Orbiting Navigation Satellite System (GLONASS), uses transmission of coded radio signals, with the structure described above, from a plurality of Earth-orbiting satellites. An SPS antenna receives SPS signals from a plurality (preferably four or more) of SPS satellites and passes these signals to an SPS signal receiver/processor, which (1) identifies the SPS satellite source for each SPS signal, (2) determines the time at which each identified SPS signal arrives at the antenna, and (3) determines the present location of the SPS satellites.
The range (Ri) between the location of the i-th SPS satellite and the SPS receiver is equal to the speed of light c times (.DELTA.ti), wherein (.DELTA.ti) is the time difference between the SPS receiver's clock and the time indicated by the satellite when it transmitted the relevant phase. However, the SPS receiver has an inexpensive quartz clock which is not synchronized with respect to the much more stable and precise atomic clocks carried on board the satellites. Consequently, the SPS receiver actually estimates not the true range Ri to the satellite but only the pseudo-range (ri) to each SPS satellite.
After the SPS receiver determines the coordinates of the i-th SPS satellite by picking up transmitted ephemeries constants, the SPS receiver can obtain the solution of the set of the four equations for its unknown coordinates (x0,y0,z0) and for unknown time bias error (cb). The SPS receiver can also obtain its heading and speed. (See The Navstar Global Positioning System, Tom Logsdon, Van Nostrand Reinhold, 1992, pp. 8-33, 44-75, 128-187.) The following discussion is focused on the GPS receiver, though the same approach can be used for any other SPS receiver.
The C/A code modulated phase quadrature carrier component of the L1 signal is provided for commercial use. If the accuracy desired in the quantity being measured by the receiver is not great, it is sufficient to use only the L1 signal carrier. However, for applications where high resolution measurements or fast measurements are to be made, both the L1 carrier and the L2 carrier must also be used, which allows to eliminate the unknown component of the time delay of the signals by the ionosphere.
To prevent jamming signals from being accepted as actual satellite signals, the satellites are provided with a secret Y-code, which replaces the known P-code when the "anti-spoofing" is ON. When the "anti-spoofing" is OFF, the Y-code is turned OFF, and the known P-code is used. Thus, the secret Y-code can be turned ON or OFF at will by the U.S. Government. The "anti-spoofing" allows the GPS system to be used for the military or other classified United States Government projects. It has been disclosed publicly that the secret Y-code is the modulo-two sum of the known P-code and the unknown W-code. Since the W-code is classified, the commercial GPS users employ different techniques to obtain the quasi-demodulation of the L2 signal.
The GPS signals are intended to be recovered by correlating each incoming signal with a locally generated replica of the code: P-code or C/A code. The result of such correlation is that the carrier in the GPS signals is totally suppressed when the modulating signal is a pseudorange code sequence like the P-code or the C/A code. Thus, the received L2 signal contains no component at the L2 frequency. For the survey applications it is important to be able to reconstruct the L2 carrier and to measure its phase. So long as the P code is not encrypted, the L2 carrier is easily recovered by correlation of the received signal with the locally generated P code replica. The locally generated code is adjusted in timing to provide an optimum correlation with the incoming signal. The correlation output is then a single narrow band peak centered at the carrier frequency. The carrier recovered by correlation provides the best available signal-to-noise ratio (STN). Although the L2 carrier can not be recovered by this correlation process when the P code is encrypted, L2 can still be recovered by squaring (multiplying the signal by itself) the incoming signal. This has an effect of removing all biphase modulation from the signal, and producing a single-frequency output signal at twice the frequency of the suppressed carrier. Thus, the L2 carrier can be obtained by squaring, regardless of whether or not the modulating P code is encrypted. However, the squaring the signal also squares the noise component of the signal. Thus, the resulting STN is seriously degraded (by 30 dB or more) as compared with the ratio for the carrier recovered by correlation. Moreover, squaring provides the half-wavelength carrier phase which is different from the L2 real wavelength carrier phase.
The variation of the squaring technique is proposed by Counselman III in U.S. Pat. No. 4,667,203, wherein the incoming signal is divided into upper and lower sidebands, which are multiplied together to obtain the second harmonic of the carrier signal. However, the degradation of the STN is the same as with squaring the entire signal.
U.S. Pat. No. 4,972,431 issued to Keegan, discloses a different approach to the quasi-demodulation of the L2 signal. The incoming encrypted P-code GPS signal is not immediately squared. Instead, after mixing with a local oscillator signal to lower its frequency to an intermediate frequency, the encrypted P-code signal is correlated with a locally generated P-code signal. Since the locally generated P-code signal does not perfectly match the encrypted P-code sequence, the correlation does not produce a sharp peak in the frequency spectrum. The result of the correlation is filtered by a bandpass filter, and the reduced-bandwidth signal is squared. The squared signal is processed in a delay lock code loop to maximize the spectral peak. An error signal is generated and is led back to control the generator of P code signal as to maximize the peak in the frequency spectrum of the output signal and to effectively lock onto the incoming L2 P code signal. Simultaneously, the second harmonic of the suppressed carrier signal resulting from the squaring process is processed to provide L2 carrier phase measurements. Because the squaring step is performed over a narrower bandwidth than the original P-code, there is less degradation in the STN of the received signal, as compared with squaring over the entire P-code bandwidth. The performance is more reliable under weak signal conditions because the cycle ambiguity of the carrier signal can be resolved more rapidly. The invention does not frustrate the intended purpose of P-code encryption.
However, the techniques described in the Keegan and Counselman patents result in a half wavelength L2 carrier phase observable, making it more difficult to quickly resolve integer ambiguities.
In U.S. Pat. No 5,293,170 issued to Lorenz, the integration of the L1 and L2 signals after demodulation by locally generated carrier and P-code signals, is repetitively accomplished over a duration that is known to be the period of the modulation code. And further, the modulated code period is altered between two periods, both being an integer multiple of P chips. The invention assumes detailed knowledge of the timing of the unknown W-code. This information is key to the optimal operation of the Lorenz patent.
What is needed for purposes of optimum processing (in terms of maximizing the STN ratio) of the W-code satellite signals without requiring detailed knowledge of W code timing, is to make a reasonable assumption about the general nature of the W-code spectrum and to implement the W-code spectrum in the design of the SPS receiver.